Creacion y ejecucion de proyecto

Descripcion

Como crear un proyecto base con FastAPI, y comandos a usar para ejecutarlo.

Metodo

Pasos previos

Primero creamos la carpeta donde tendremos nuestro proyecto:

mkdir FastApiExample

A continuación dentro de esa carpeta creamos el entorno virtual que usaremos para ejecutar nuestra aplicación:

python -m venv VirtualEnvironment

NOTA: VirtualEnvironment es el nombre que le queremos dar a nuestro entorno virtual, se creará una carpeta con dicho nombre.

Activamos el entorno virtual:

(en bash):

source VirtualEnvironment/Scripts/activate

(en cmd):

VirtualEnvironment\Scripts\activate.bat

Cuando estamos dentro de un entorno virtual se muestra de la siguiente manera en la consola:

Si quisiesemos desactivar el entorno virtual:

(en bash):

deactivate

(en cmd):

VirtualEnvironment\Scripts\deactivate.bat

Instalación

A continuación tenemos que instalar el paquete de fastapi y el paquete de uvicorn (que es el servidor que usará nuestra aplicación)

pip install fastapi uvicorn

Código aplicación

Creamos un archivo api.py dentro de nuestra carpeta FastApiExample en el que introduciremos nuestro código:

from fastapi import FastAPI
app = FastAPI()

@app.get("/")
async def welcome() -> dict:
    return { "message": "Hello World!!!"}

Ejecución

Para ejecutar nuestra aplicación lo hacemos de la siguiente manera:

uvicorn.exe api:app --port 8000 --reload

NOTA: tenemos que asegurarnos de que estamos dentro de nuestro entorno virtual, ya que los paquetes que hemos instalado previamente están en ese entorno.

api hace referencia a nuestro arhicvo api.py, app hace referencia a la variable donde hemos almacenado la inicialización de FastApi, y port hace referencia al puerto sobre el que escuchará el servidor.

Cuando la aplicación está ejecutada se muestra así en la consola:

Una vez tenemos la aplicación ejecutada podemos acceder desde nuestro navegador a la dirección local en el puerto que hemos indicado y obtendremos la respuesta del endpoint que hemos creado:

Tags

Python | FastAPI | Creacion | Ejecucion